la columna de images es de tipo jsonb.
Al leer documentos de Postgres en el operador - para el texto , dice:
Elimina el par clave/valor o el elemento de cadena del operando izquierdo. Los pares clave/valor se comparan en función de su valor clave.
Sin embargo, no estoy teniendo éxito. Después de ejecutar mi actualización, veo que el elemento en la matriz aún existe. ¿Es esto porque es el único elemento en la matriz? Si es así, ¿cómo lidiaría con tal situación?
dev_dolphin_db=# update listings set images = images - 'filename' where listings.id = 2; UPDATE 1 id | 2 created_at | 2017-04-20 04:19:41.009022+00 posted_by | 101090922 images | [{"review": "/9j/4AAQSC1LnS//2Q==", "filename": "3/2/image-3-2-1492661981049.jpeg"}]Si el hash está constantemente en el índice 0 de la matriz jsonb, puede eliminarlo con
dev_dolphin_db=# update listings set images = images #- '{0,filename}' where listings.id = 2; Esto usa el operador #- que postgres describe como:
Delete the field or element with specified path (for JSON arrays, negative integers count from the end)